#define _CRT_SECURE_NO_WARNINGS

#include "Sort.h"

void TestCountSort()
{
	int arr[] = { 6,1,2,9,4,2,4,1,4 };
	int sz = sizeof(arr) / sizeof(int);

	CountSort(arr, sz);
	PrintArray(arr, sz);
}

void TestInsertSort()
{
	int arr[] = { 6,1,2,9,4,2,4,1,4 };
	int sz = sizeof(arr) / sizeof(int);

	InsertSort(arr, sz);
	PrintArray(arr, sz);
}

void TestShellSort()
{
	int arr[] = { 6,1,2,9,4,2,4,1,4 };
	int sz = sizeof(arr) / sizeof(int);

	ShellSort(arr, sz);
	PrintArray(arr, sz);
}

void TestSelectSort()
{
	int arr[] = { 6,1,2,9,4,2,4,1,4 };
	int sz = sizeof(arr) / sizeof(int);

	SelectSort(arr, sz);
	PrintArray(arr, sz);
}

void TestHeapSort()
{
	int arr[] = {5,8,9,2,4,7,1,3,6};
	int sz = sizeof(arr) / sizeof(int);

	HeapSort(arr, sz);
	PrintArray(arr, sz);
}

void TestQuickSort()
{
	int arr[] = { 6,1,2,9,4,2,4,1,4 };
	int sz = sizeof(arr) / sizeof(int);

	QuickSort(arr,0,sz-1);
	PrintArray(arr, sz);
}

void TestQuickSortNotR()
{
	int arr[] = { 6,1,2,9,4,2,4,1,4 };
	int sz = sizeof(arr) / sizeof(int);

	QuickSortNotR(arr, 0, sz - 1);
	PrintArray(arr, sz);
}

void TestMergeSort()
{
	int arr[] = { 6,1,2,9,4,2,4,1,4 };
	int sz = sizeof(arr) / sizeof(int);

	MergeSort(arr, sz);
	PrintArray(arr, sz);
}

void TestMergeSortNotR()
{
	int arr[] = { 6,1,2,9,4,2,4,1,4 };
	int sz = sizeof(arr) / sizeof(int);

	MergeSortNotR(arr, sz);
	PrintArray(arr, sz);
}

int main()
{
	/*TestCountSort();*/
	/*TestInsertSort();*/
	/*TestShellSort();
	TestSelectSort();*/
	/*TestHeapSort();*/
	/*TestQuickSort();*/
	/*TestQuickSortNotR();*/
	TestMergeSort();
	TestMergeSortNotR();

	return 0;
}